package com.masterrabbit.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import net.sf.jsqlparser.expression.DateTimeLiteralExpression;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.masterrabbit.common.core.annotation.Excel;
import com.masterrabbit.common.core.web.domain.BaseEntity;

/**
 * 活动对象 activities
 * 
 * @author laotu
 * @date 2025-03-19
 */
public class Activities extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** ID（自增） */
    private Long activityId;

    /** 编号 */
    @Excel(name = "编号")
    private String activityCode;

    /** 标题 */
    @Excel(name = "标题")
    private String title;

    /** 发布人 */
    @Excel(name = "发布人")
    private String publisherName;

    /** 状态 */
    @Excel(name = "状态")
    private Long status;

    /** 是否上架 */
    @Excel(name = "是否上架")
    private Integer isOnline;

    /** 发布时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "发布时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date releaseTime;

    /** 审核时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "审核时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date auditTime;

    /** 发布内容 */
    @Excel(name = "发布内容")
    private String content;

    /** 图片id（图片表外键） */
    @Excel(name = "图片id", readConverterExp = "图=片表外键")
    private Long imageId;

    /** 商家ID */
    @Excel(name = "商家ID")
    private Long merchantId;

    public void setActivityId(Long activityId) 
    {
        this.activityId = activityId;
    }

    public Long getActivityId() 
    {
        return activityId;
    }

    public void setActivityCode(String activityCode) 
    {
        this.activityCode = activityCode;
    }

    public String getActivityCode() 
    {
        return activityCode;
    }

    public void setTitle(String title) 
    {
        this.title = title;
    }

    public String getTitle() 
    {
        return title;
    }

    public void setPublisherName(String publisherName) 
    {
        this.publisherName = publisherName;
    }

    public String getPublisherName() 
    {
        return publisherName;
    }

    public void setStatus(Long status) 
    {
        this.status = status;
    }

    public Long getStatus() 
    {
        return status;
    }

    public void setIsOnline(Integer isOnline) 
    {
        this.isOnline = isOnline;
    }

    public Integer getIsOnline() 
    {
        return isOnline;
    }

    public void setReleaseTime(Date releaseTime) 
    {
        this.releaseTime = releaseTime;
    }

    public Date getReleaseTime() 
    {
        return releaseTime;
    }

    public void setAuditTime(Date auditTime) 
    {
        this.auditTime = auditTime;
    }

    public Date getAuditTime() 
    {
        return auditTime;
    }

    public void setContent(String content) 
    {
        this.content = content;
    }

    public String getContent() 
    {
        return content;
    }

    public void setImageId(Long imageId) 
    {
        this.imageId = imageId;
    }

    public Long getImageId() 
    {
        return imageId;
    }

    public void setMerchantId(Long merchantId) 
    {
        this.merchantId = merchantId;
    }

    public Long getMerchantId() 
    {
        return merchantId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("activityId", getActivityId())
            .append("activityCode", getActivityCode())
            .append("title", getTitle())
            .append("publisherName", getPublisherName())
            .append("status", getStatus())
            .append("isOnline", getIsOnline())
            .append("releaseTime", getReleaseTime())
            .append("auditTime", getAuditTime())
            .append("content", getContent())
            .append("imageId", getImageId())
            .append("merchantId", getMerchantId())
            .toString();
    }
}
